

package Controlador.stegsecret;

import java.io.*;

public class fichJPEG
{

    public fichJPEG(String s)
    {
        fichero = null;
        buffer = null;
        try
        {
            nombreFichero = s;
            fichero = new RandomAccessFile(new File(s), "r");
            tamFichero = (int)(new File(s)).length();
        }
        catch(IOException ioexception)
        {
            System.out.println(ioexception);
        }
    }

    public byte isJPEG()
    {
        byte byte0 = NOK_JPEG;
        try
        {
            fichero.seek(0L);
            buffer = new byte[4];
            fichero.read(buffer, 0, 4);
            if(buffer[0] == -1 && buffer[1] == -40 && buffer[2] == -1 && (buffer[3] == -31 || buffer[3] == -32))
            {
                byte0 = OK_JPEG_NOK_EOF;
                fichero.seek(tamFichero - 2);
                buffer = new byte[2];
                fichero.read(buffer, 0, 2);
                if(buffer[0] == -1 && buffer[1] == -39)
                    byte0 = OK_JPEG;
            }
        }
        catch(Exception exception)
        {
            byte0 = NOK_JPEG;
        }
        return byte0;
    }

    public void cierraFichero()
    {
        try
        {
            fichero.close();
        }
        catch(Exception exception) { }
    }

    public static byte NOK_JPEG = 0;
    public static byte OK_JPEG_NOK_EOF = 1;
    public static byte OK_JPEG = 2;
    public static byte LSB_MARK_EOI = -39;
    public static byte MSB_MARK_EOI = -1;
    private RandomAccessFile fichero;
    private String nombreFichero;
    private byte buffer[];
    private int tamFichero;

}